import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    state: {//状态变量
        user: {//判断本地存储中是否有 user 这个对象存在，如果存在就取出来并获得 username 的值，否则则把 username 设置为空
            username: window.localStorage.getItem('user') == null ? '' : JSON.parse(window.localStorage.getItem('user')).username
        }
    },
    mutations: {
        login (state, username) {//为用户对象赋值
            state.user.username = username
            window.localStorage.setItem('user', JSON.stringify(state.user))
        },
        logout (state) {
            state.user = {username: ''}//注销时不能直接让user为空（会消除其username属性，前端会获取到undefined）
            window.localStorage.removeItem('user')
        }
    }
})
